package com.czh.subject.infra.basic.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.czh.subject.infra.basic.entity.SubjectInfo;
import java.util.List;

/**
 * 题目信息表(SubjectInfo)表服务接口
 *
 * @author caozaihui
 * @since 2024-07-31 00:05:23
 */
public interface SubjectInfoService extends IService<SubjectInfo> {

    /** 
     * 
     * @param id 主键
     * @author caozaihui  
     * @description  通过ID查询单条数据
     * @date 2024-07-31 00:05:23
     * @return 实例对象
     */
    SubjectInfo selectSubjectInfoById (Long id);
        
    /**
     * @param subjectInfo 实例对象
     * @param categoryId
     * @param labelId
     * @param start
     * @param pageSize
     * @return 实例对象
     * @author caozaihui
     * @description 分页查询数据
     * @date 2024-07-31 00:05:23
     */
    List<SubjectInfo> querySubjectInfoList (SubjectInfo subjectInfo, Long categoryId, Long labelId, int start, Integer pageSize);
    
    
   /** 
     * 
     * @param subjectInfo 实例对象
     * @author caozaihui  
     * @description  新增数据
     * @date 2024-07-31 00:05:23
     * @return 实例对象
     */
    int insert(SubjectInfo subjectInfo);
    
   /** 
     * 
     * @param subjectInfo 实例对象
     * @author caozaihui  
     * @description 修改数据并返回
     * @date 2024-07-31 00:05:23
     * @return 实例对象
     */
    int update(SubjectInfo subjectInfo);
    
    
    /**
     *
     * @param ids 主键
     * @author caozaihui 
     * @description  通过主键删除数据
     * @date 2024-07-31 00:05:23
     * @return
     */
    int deleteById(List<Long> ids);


    int countByCondition(SubjectInfo subjectInfo, Long labelId, Long categoryId);

    List<SubjectInfo> querySubjectIInfoByIds(List<Long> ids);

    SubjectInfo getAdjoinSubject(Long subjectId,Long categoryId, Long labelId, int i);
}

